/******************************************************************************* 
  Copyright (C), 2018-2050, auditoryworks Tech. Co., Ltd.
  Description:   ini模块  
  Function List:     
  History:
    <wangmc -- 2019-11-6>  创建
*******************************************************************************/
              
#ifndef INI_H
#define INI_H

#ifdef __cplusplus
extern "C" {
#endif

/*=============================================================================
                                 Includes                                  
==============================================================================*/

/*=============================================================================
                               Macro Definition
==============================================================================*/

/*=============================================================================
                        Local Structures and Typedef 
==============================================================================*/

/*=============================================================================
                             extern  Variables                                  
==============================================================================*/


/*=============================================================================
                             Function Definition                                  
==============================================================================*/ 
/*******************************************************************************
  Function:     INI_KeyGetInt
  Description:  从ini文件中获取指定变量的int值
  Input:        - pPath: 文件路径
                - pSec: 区域
                - pKey: 关键字 
  Output:       - pVal: 键值
  Return:       0: 操作成功
                <0: 操作失败
  Others:       无
*******************************************************************************/
int INI_KeyGetInt(const char *pPath, const char *pSec, const char *pKey, int *pVal);

/*******************************************************************************
  Function:     INI_KeyGetString
  Description:  从ini文件中获取指定变量的string值
  Input:        - pPath: 文件路径
                - pSec: 区域
                - pKey: 关键字 
  Output:       - pVal: 键值
  Return:       0: 操作成功
                <0: 操作失败
  Others:       无
*******************************************************************************/
int INI_KeyGetString(const char *pPath, const char *pSec, const char *pKey, char *pVal);

/*******************************************************************************
  Function:     INI_KeyGetDouble
  Description:  从ini文件中获取指定变量的double值
  Input:        - pPath: 文件路径
                - pSec: 区域
                - pKey: 关键字 
  Output:       - pVal: 键值
  Return:       0: 操作成功
                <0: 操作失败
  Others:       无
*******************************************************************************/
int INI_KeyGetDouble(const char *pPath, const char *pSec, const char *pKey, double *pVal);

/*******************************************************************************
  Function:     INI_KeySet
  Description:  设置ini配置文件指定变量的值
  Input:        - pPath: 文件路径
                - pSec: 区域
                - pKey: 关键字
                - pVal: 键值
  Output:       无
  Return:       0: 操作成功
                <0: 操作失败
  Others:       无
*******************************************************************************/
int INI_KeySet(const char *pPath, const char *pSec, const char *pKey, const char *pVal);

#ifdef __cplusplus
}
#endif

#endif  /*INI_H*/
